package iscript.gameFramework.GameLite.system.reflection 
{
	import iscript.coreFramework.data.HashTable;
	
	
	internal class ReflectionDescribeTypeData 
	{
		
		public function ReflectionDescribeTypeData() 
		{
			_describeTypeData = new HashTable();
		}
		
		private var _describeTypeData:HashTable;
		
		/**
		 * 存在类的XML结构数据
		 * @param	cls
		 * @return
		 */
		public function addClassPath(cls:Class):Boolean {
			   return  _describeTypeData.add(Reflection.getClassPackage(cls), Reflection.describeTypeFullXML(cls));
			}
		
		public function getDescribeTypeXML(cls:Class):XML {
			  return _describeTypeData.getValue(Reflection.getClassPackage(cls));
			}
			
			
		public function hasDescribeTypeXML(cls:Class):Boolean {
			return _describeTypeData.containKey(Reflection.getClassPackage(cls));
		   }
			
		public function remove(cls:Class):void {
			  _describeTypeData.removeByKey(Reflection.getClassPackage(cls));
			}
			
		
	}

}